home *** CD-ROM | disk | FTP | other *** search
/ The Utilities Experience / The Utilities Experience - Volume 1.iso / software / demos / a-d / amms / mbbatch / com / execute_batch < prev    next >
Encoding:
Text File  |  1995-05-05  |  2.3 KB  |  97 lines

  1. ;
  2. ;    EXECUTE BATCH
  3. ;
  4. ;    $VER: 2.00 / 29-01-1995
  5. ;
  6. ;    Scriptfile zum Starten der User-Batches.
  7. ;
  8. ;    Benoetigte AMMS-Befehle :
  9. ;    -------------------------
  10. ;    break off
  11. ;    check user
  12. ;    disk execute
  13. ;    echo
  14. ;    eod
  15. ;    extern
  16. ;    if
  17. ;    on error
  18. ;    parse
  19. ;
  20. ;       Variablen initialisieren :
  21. ;       --------------------------
  22. batch=""                ; Anfangsbuchstabe der Zusatzbatches
  23. filenameend=".bat"            ; Filenamenende der Zusatzbatches
  24. maxbatches=5                ; Max. Anzahl der Zusatzbatches
  25. file="login"                ; Name der Userbatch (default: login)
  26. user="'{name}'"                ; Username, dessen Batch editiert wird
  27.  
  28. ;    Programm :
  29. ;    ----------
  30.  
  31. ; Parameter auswerten
  32.  
  33. p2=""                    ; Username initialisieren
  34. _if os != "T" THEN _parse "Execute Batch" p0 N p1 ; User-Parameter auswerten
  35. _if os == "T" THEN _parse "Execute Batch" p0 N p1 N p2 ; Sysop-Para auswerten
  36.  
  37. _if "'p1''p2'" == "" then _goto EXECUTE    ; Wenn keine Para, Loginbatch starten
  38.  
  39. ; Ueberpruefe, ob 1. Parameter eine Batch
  40.  
  41. i=maxbatches+1                ; Schleifenzaehler initialisieren
  42. LOOP:
  43. i=i-1                    ; Schleifenzaehler erniedrigen
  44. _if/i i < 1 then _goto NO_BATCH        ; Kein Batchname gefunden -> NoBatch
  45. _if p1 != "'batch''i'" then _goto LOOP    ; Batchname korrekt ? Nein -> Batch
  46.  
  47. file="'batch''i''filenameend'"        ; Batchfilenamen erzeugen
  48.  
  49. ; Username ueberpruefen
  50.  
  51. CHECK_NAME:
  52. _if p2 == "" then _goto EXECUTE        ; Kein Username -> eigene Batch starten
  53. _if os == "F" then _goto UNKNOWN_BATCH    ; Kein Sysop -> unbekannte Batch
  54. _check user "'p2'" UNKNOWN_USER        ; User unbekannt -> Fehler
  55. user=p2                    ; Username vom Parameter uebernehmen
  56.  
  57. ; File unter Userzugriff starten, wenn nicht vorhanden, ignorieren
  58.  
  59. EXECUTE:
  60. COMNAME=                ; Befehlsname auf nix
  61. _disk execute/useracc/noerr "mbudir:'user'/'file'"
  62. _eod                    ; Ende
  63.  
  64. ; Wenn keine Batchdatei gefunden, dann nach Name pruefen
  65.  
  66. NO_BATCH:
  67. _if p2 != "" then _goto UNKNOWN_BATCH    ; 2.Para vorhanden -> unbekannte Batch
  68. p2=p1                    ; 2. Para = 1. Para
  69. _goto CHECK_NAME            ; -> Name pruefen
  70.  
  71. ; Fehlerbehandlungsroutinen
  72.  
  73. UNKNOWN_BATCH:
  74. _gosub LOADTEXT
  75. _if/i maxbatches != 0 then _goto UNKNOWN_BATCH_1
  76. _echo T_NoBatch
  77. _eod
  78.  
  79. UNKNOWN_BATCH_1:
  80. _echo T_UnknownBatch
  81. _eod
  82.  
  83. UNKNOWN_USER:
  84. _gosub LOADTEXT
  85. _echo T_UnknownUser
  86. _eod
  87.  
  88. ; Unterroutine: Lade sprachspezifische Texte
  89.  
  90. LOADTEXT:
  91. LANG={DEFLANGUAGE}
  92. _check file "mbbatch:com/'{ALANGUAGE}'/execute_batch.bat" GETTEXT
  93. LANG={ALANGUAGE}
  94. GETTEXT:
  95. _disk execute/keep "mbbatch:com/'LANG'/execute_batch.bat"
  96. _return
  97.